package com.guqin.interview.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.guqin.interview.model.entity.QuestionFavorite;

import java.util.List;

/**
 * 题目收藏服务
 */
public interface QuestionFavoriteService extends IService<QuestionFavorite> {

    /**
     * 收藏题目
     *
     * @param userId 用户 id
     * @param questionId 题目 id
     * @return 是否成功
     */
    boolean favoriteQuestion(Long userId, Long questionId);

    /**
     * 取消收藏题目
     *
     * @param userId 用户 id
     * @param questionId 题目 id
     * @return 是否成功
     */
    boolean unfavoriteQuestion(Long userId, Long questionId);

    /**
     * 获取用户收藏的题目列表
     *
     * @param userId 用户 id
     * @return 题目 id 列表
     */
    List<Long> getUserFavoriteQuestionIds(Long userId);

    /**
     * 判断用户是否收藏了某道题目
     *
     * @param userId 用户 id
     * @param questionId 题目 id
     * @return 是否收藏
     */
    boolean isQuestionFavorited(Long userId, Long questionId);
} 